package com.easy.cloud.web.service.upms.api.dto;

import com.easy.cloud.web.component.core.service.IConverter;
import com.easy.cloud.web.service.upms.api.enums.GenderEnum;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;

import javax.validation.constraints.NotBlank;
import java.util.Set;

/**
 * User 注册数据
 *
 * @author Fast Java
 * @date 2023-08-03 14:25:41
 */
@Data
@Builder
@Accessors(chain = true)
@AllArgsConstructor
@NoArgsConstructor
@ApiModel(value = "UserRegisterDTO", description = "用户注册入参")
public class UserRegisterDTO implements IConverter {
    /**
     * 用户名、用户账号
     */
    @NotBlank(message = "用户账号不能为空")
    @ApiModelProperty(value = "用户名、用户账号", required = true)
    private String userName;
    /**
     * 密码
     */
    @NotBlank(message = "用户密码不能为空")
    @ApiModelProperty(value = "密码", required = true)
    private String password;
    /**
     * 国家
     */
    @ApiModelProperty(value = "国家", required = false)
    private String country;
    /**
     * 省份
     */
    @ApiModelProperty(value = "省份", required = false)
    private String province;
    /**
     * 城市
     */
    @ApiModelProperty(value = "城市", required = false)
    private String city;
    /**
     * 地区
     */
    @ApiModelProperty(value = "地区", required = false)
    private String district;
    /**
     * 街道
     */
    @ApiModelProperty(value = "街道", required = false)
    private String street;
    /**
     * 地址
     */
    @ApiModelProperty(value = "地址", required = false)
    private String address;
    /**
     * 昵称
     */
    @ApiModelProperty(value = "昵称", required = false)
    private String nickName;
    /**
     * 性别： 0 未知的性别 1 男 2 女 9 未说明的性别
     */
    @ApiModelProperty(value = "性别： 0 未知的性别 1 男 2 女 9 未说明的性别", required = false)
    private GenderEnum gender;
    /**
     * 身份证
     */
    @ApiModelProperty(value = "身份证", required = false)
    private String idCard;
    /**
     * 电话
     */
    @ApiModelProperty(value = "电话", required = false)
    private String tel;
    /**
     * 头像
     */
    @ApiModelProperty(value = "头像", required = false)
    private String avatar;
    /**
     * 邮箱
     */
    @ApiModelProperty(value = "邮箱", required = false)
    private String email;
}